package com.ruoyi.common.core.Entity;


import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;
import java.util.HashMap;
import java.util.Map;

/*
    订单实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("订单对象")
public class Orders {
    @ApiModelProperty("订单ID")
    @Excel(name = "订单ID")
    private Long order_id; //订单ID
    @ApiModelProperty("订单所属的用户ID")
    @Excel(name = "订单所属的用户ID")
    private Long order_user_id; //订单所属的用户ID
    @ApiModelProperty("订单所属商家ID")
    @Excel(name = "订单所属商家ID")
    private Long store_id; //订单所属商家ID
    @ApiModelProperty("订单所属的商品ID")
    @Excel(name = "订单所属的商品ID")
    private Long goods_id; //订单所属的商品ID（与优惠券ID二选一）
    @ApiModelProperty("订单所属的优惠券ID")
    @Excel(name = "订单所属的优惠券ID")
    private Long coupons_id; //订单所属的优惠券ID（与优惠券ID二选一）
    @ApiModelProperty("购买的商品数量")
    @Excel(name = "购买的商品数量")
    private Integer number; //购买的商品数量
    @ApiModelProperty("订单状态（已付款、已发货、已完成、已取消）")
    @Excel(name = "订单状态（已付款、已发货、已完成、已取消）")
    private String order_status; //订单状态（已付款、已发货、已完成、已取消）
    @ApiModelProperty("收货人姓名")
    @Excel(name = "收货人姓名")
    private String consignee_name; //收货人姓名
    @ApiModelProperty("收货人电话")
    @Excel(name = "收货人电话")
    private String consignee_phone; //收货人电话
    @ApiModelProperty("收货人地址")
    @Excel(name = "收货人地址")
    private String consignee_address; //收货人地址
    @ApiModelProperty("志愿者团支部分区")
    @Excel(name = "志愿者团支部分区")
    private String volunteer_area; //志愿者团支部分区
    @ApiModelProperty("配送方式")
    @Excel(name = "配送方式")
    private String deliver_type; //配送方式
    @ApiModelProperty("下单时间")
    @Excel(name = "下单时间")
    private Timestamp order_time; //下单时间
    @ApiModelProperty("配送时间")
    @Excel(name = "配送时间")
    private Timestamp deliver_time; //配送时间
    @ApiModelProperty("删除标志（ 0未删除，1已删除）")
    private Boolean del_flag; //删除标志（ 0未删除，1已删除）
    @ApiModelProperty("用户姓名（检索使用）")
    private String userName; //用户姓名（检索使用）
    @ApiModelProperty("商家名称（检索使用）")
    private String storeName; //商家名称（检索使用）
    @ApiModelProperty("商品名称（检索使用）")
    private String goodsName; //商品名称（检索使用）
    @ApiModelProperty("优惠券名称（检索使用）")
    private String couponsName; //优惠券名称（检索使用）

    private Map<String,Object> params; //请求参数

    public Map<String, Object> getParams() {
        if (params == null) {
            params = new HashMap<>();
        }
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }
}
